set_column_factor <- function(data,columns){
  # 检查columns是否为字符向量  
  if (!is.character(columns)) {  
    stop(sprintf("'%s'参数必须是一个字符向量",columns))
  } 
  
  # 遍历列名并转换  
  for (col in columns) {  
    if (col %in% names(data)) {  
      data[[col]] <- as.factor(data[[col]])  
    } else {  
      warning(sprintf("列 '%s' 不存在于数据框中，将被忽略。", col))  
    }  
  }  
  
  return (data)
}